5 research outputs found

    Exploring model-based development for the verification of real-time Java code

    Get PDF
    Many safety- and security-critical systems are real-time systems and, as a result, tools and techniques for verifying real-time systems are extremely important. Simulation and testing such systems can be exceedingly time-consuming and these techniques provide only probabilistic measures of correctness. There are a number of model-checking tools for real-time systems. However, they provide formal verification for models, not programs. To increase the confidence in real-time programs written in real-time Java, this paper takes a modelling approach to the design of such programs. First, models can be mechanically verified, to check whether they satisfy particular properties, by using current real-time model-checking tools. Then, programs are derived from the model by following a systematic approach. To illustrate the approach we use a nontrivial example: a gear controller

    From verified real-time models to real-time Java code

    No full text
    Many real-time systems are safety- and security-critical systems and, as a result, tools and techniques for verifying them are extremely important. Simulating and testing such systems can be exceedingly time-consuming and these techniques provide only probabilistic measures of correctness. There are a number of model-checking tools for real-time systems. However, after they provide formal verification for models, we still need to have a systematic approach for deriving programs from those models. To increase the confidence in real-time programs written in real-time Java, this thesis proposes a model-based approach to the development of such programs. First, models can be mechanically verified, to check whether they satisfy particular properties, by using current real-time model-checking tools. Then, programs are derived from the model by following a systematic approach. Following this approach we can guarantee that all safety and bounded liveness (not liveness in general) properties that are satisfied in the model are also satisfied in the generated code if the target platform meets our conditions (for timing invariants in the model, we need to perform an independent check on the generated code to ensure that the timing invariants are satisfied for the target platform on which the code is executed). To facilitate better timing analysis at the code level, we provide architectural templates for the main abstractions found in real-time systems (periodic, sporadic, and aperiodic). Hence we can provide scheduling analysis techniques if these templates are used. Although memory management is a crucial issue for real-time systems, model checkers usually only provide simple data structures (to avoid state explosion). In our approach we do not deal with memory allocation. Memory allocation will be performed after the code has been generated. We introduce a Timed Automata to RTSJ Tool (TART), a prototype tool to automatically generate real-time Java code from models. We apply our approach on a number of case studies (Fischer protocol, a gear controller, a producer/consumer and an audio/video protocol) to illustrate our mapping, and to show its applicability as well as its limitations

    Exploring an approach to model-based testing from behavior trees

    No full text
    One of the most important methods to ensure system correctness is testing. Test execution can often be automated. However, the generation of tests from original requirements is an open area of research. In this paper, we propose an approach to generate test cases from requirements. We use a Behavior Tree (BT) to model the requirements of a system. The BT notation is a tree-like graphical notation to capture the requirements of a system. We use TTCN-3 as our testing language. TTCN-3 is a programming language with test-specific extensions. From the BT model, we generate test cases in TTCN-3. These test cases combined with an adapter layer in TTCN-3 will be executed against an implementation of the model to test that implementation

    TART: Timed-automata to real-time Java tool

    No full text
    In previous work, we have proposed a model-based approach to developing real-time Java programs from timed automata. This approach allows us to verify the timed automata model mechanically by using current real-time model checking tools. Programs are then derived from the model by following a systematic approach. TART (timed automata to RTSJ Tool) is a prototype tool to support this approach. This paper presents TART, including its limitations, and discusses its application on four examples. © 2010 IEEE
    corecore